package models_main

import (
	"fmt"
	"longmen/server/pkg/db/mysql/models"
)

type ConfigPub struct {
	Id int `json:"id" gorm:"primaryKey;autoIncrement"`
	//观看卷开关
	TicketSwitch int `json:"ticket_switch" gorm:"column:ticket_switch"`

	SourceKey           string `json:"source_key"`             //渠道配置表db_config_source字段
	SiteName            string `json:"site_name"`              //varchar(255) DEFAULT '',
	SiteDomain          string `json:"site_domain"`            //varchar(255) DEFAULT '',站点域名
	Copyright           string `json:"copyright"`              //varchar(255) DEFAULT '',版权信息
	VersionAndroid      string `json:"version_android"`        //varchar(255) DEFAULT '',安卓版本号
	DlAndroid           string `json:"dl_android"`             //varchar(255) DEFAULT '',安卓下载地址
	DlAndroidPwa        string `json:"dl_android_pwa"`         //varchar(255) DEFAULT '',安卓pwa下载地址
	UpdateInfoIos       string `json:"update_info_ios"`        //varchar(255) DEFAULT '',
	UpdateInfoAndroid   string `json:"update_info_android"`    //varchar(255) DEFAULT '',
	VersionIos          string `json:"version_ios"`            //varchar(255) DEFAULT '',苹果版本号
	DlIos               string `json:"dl_ios"`                 //varchar(255) DEFAULT '',苹果下载地址(企业签)
	DlIosTf             string `json:"dl_ios_tf"`              //varchar(255) DEFAULT '',苹果下载地址(TF)
	DlIosHw             string `json:"dl_ios_hw"`              //varchar(255) DEFAULT '',苹果下载地址(企业签)极速
	DlAndroidHw         string `json:"dl_android_hw"`          //varchar(255) DEFAULT '', 安卓下载地址海外
	DlQrcode            string `json:"dl_qrcode"`              //varchar(255) DEFAULT '',下载二维码
	DlWebUrl            string `json:"dl_web_url"`             //varchar(255) DEFAULT NULL COMMENT '下载页',
	ShareLiveUrl        string `json:"share_live_url"`         //varchar(255) DEFAULT NULL COMMENT '分享直播页',
	ShareShortvideoUrl  string `json:"share_shortvideo_url"`   //varchar(255) DEFAULT NULL COMMENT '分享短视频页',
	ShareMomentUrl      string `json:"share_moment_url"`       //varchar(255) DEFAULT NULL COMMENT '分享动态页',
	ServiceWxOfficial   string `json:"service_wx_official"`    //varchar(255) DEFAULT NULL COMMENT '客服微信公众号',
	ServiceWx           string `json:"service_wx"`             //varchar(255) DEFAULT NULL COMMENT '客服微信',
	ServiceQq           string `json:"service_qq"`             //varchar(255) DEFAULT NULL COMMENT '客服QQ',
	ServiceURL          string `json:"service_url"`            // 客服链接
	ServiceToggle       int    `json:"service_toggle"`         // 客服链接功能是否打开
	License             string `json:"license"`                // 网络许可
	ServiceEmail        string `json:"service_email"`          // 客服邮箱
	ApplyAnchor         string `json:"apply_anchor"`           // 主播申请
	WithdrawLimit       string `json:"withdraw_limit"`         //varchar(50) DEFAULT '',
	ChatUrl             string `json:"chat_url"`               //varchar(50) DEFAULT ''" 聊天地址url 逗号分割
	ChatSysMessage      string `json:"chat_sys_message"`       //varchar(50) DEFAULT ''" 聊天室系统消息
	StreamUrl           string `json:"stream_url"`             //varchar(255) DEFAULT '' COMMENT '不同解析度域名 流畅,标清,超清,原画'
	ImgDomain           string `json:"img_domain"`             //varchar(50) DEFAULT '' COMMENT '图片域名';
	BaseheatsStart      int    `json:"baseheats_start"`        //DEFAULT NULL COMMENT '基础热度S随机数范围开始',
	BaseheatsEnd        int    `json:"baseheats_end"`          //DEFAULT NULL COMMENT '基础热度S随机数范围结束',
	SumbumistegurK      int    `json:"sumbumistegur_k"`        //DEFAULT NULL COMMENT '衰减系数K',
	Populaarsuse        int    `json:"populaarsuse"`           //DEFAULT NULL COMMENT '人气系数X',
	GiftFactor          int    `json:"gift_factor"`            //DEFAULT NULL COMMENT '礼物系数P',
	GiftTime            int    `json:"gift_time"`              //DEFAULT NULL COMMENT '礼物送出后的时长M（10分钟为一个单位M）',
	DefaultAvatarUrl    string `json:"default_avatar_url"`     //DEFAULT NULL COMMENT '默认用户头像地址',
	DefaultMatchLogoUrl string `json:"default_match_logo_url"` //DEFAULT NULL COMMENT '默认赛事队标',
	//DefaultBasketLogUrl string `json:"default_basket_log_url"` //DEFAULT NULL COMMENT '默认赛事篮球队标',
	ImgUploadUrl        string `json:"img_upload_url"`     //图片上传
	ApkUpgradeToggle    int    `json:"apk_upgrade_toggle"` // 客服链接功能是否打开
	ApkUpgradeVersion   string `json:"apk_upgrade_version"`
	ApkUpgradeURL       string `json:"apk_upgrade_url"`
	WxPub               string `json:"wx_pub"` // 微信公众号二维码链接地址
	Weibo               string `json:"weibo"`  // 微博二维码链接地址
	Douyin              string `json:"douyin"` // 抖音二维码链接地址
	H5Domain            string `json:"h5_domain"`
	PowerMode           uint8  `json:"power_mode"`
	ExpertAndroidToggle int8   `json:"expert_android_toggle"` //安卓有料版块开关 0=关闭，1=开启
	ExpertIosToggle     int8   `json:"expert_ios_toggle"`     //ios有料版块开关 0=关闭，1=开启
	GuessAndroidToggle  int8   `json:"guess_android_toggle"`  //安卓竞猜版块开关 0=关闭，1=开启
	GuessIosToggle      int8   `json:"guess_ios_toggle"`      //iso竞猜版块开关 0=关闭，1=开启
	AndroidVersionNum   int    `json:"android_version_num"`   //安卓整型版本代号
	AndroidMinVersion   int    `json:"android_min_version"`   //安卓能用的整型最小版本代号
	ExpertPcToggle      int    `json:"expert_pc_toggle"`      //PC鹰眼版块开关 0=关闭，1=开启
	TalentListStatus    int    `json:"talent_list_status"`    // 达人榜开关 1开2关
	AppiosUpgradeToggle int    `json:"appios_upgrade_toggle"` //IOS升级开关 0=关闭，1=开启
	CaptchaPath         string `json:"captcha_path"`          //极验图片地址
	CheckinSwitch       int    `json:"checkin_switch"`        //签到开关 0=关闭 1=开启
	LotterySwitch       int    `json:"lottery_switch"`        //抽奖开关 0=关闭 1=开启
	//------------------20221020苹果配置-----------------
	VersionIosShop          string `json:"version_ios_shop"`
	DlIosShopUrl            string `json:"dl_ios_shop_url"`
	UpdateInfoIosShop       string `json:"update_info_ios_shop"`
	AppiosShopUpgradeToggle int    `json:"appios_shop_upgrade_toggle"`
	WorldcupThematicToggle  int    `json:"worldcup_thematic_toggle"` //世界杯专题开关，0=关闭，1=开启
	WorldcupGuessToggle     int    `json:"worldcup_guess_toggle"`    //世界杯竞猜开关，0=关闭，1=开启
	BusinessEmail           string `json:"business_email"`           //商务邮箱
	FaceType                int    `json:"face_type"`                //皮肤类型，0=默认，1=卡塔尔

	ForceUpdateOfficial int    `json:"force_update_official"`
	PrivateChatWs       string `json:"private_chat_ws"` //后台私聊socket地址
	//-----------------竞猜------------- 按位开关 1-pc 2-ios 4-安卓
	QuizFactor   int    `json:"quiz_factor"`
	VideoSwitch  int    `json:"video_switch"` // 视频开关因子: 1-pc 2-ios 4-安卓
	VideoPlayURL string `json:"video_play_url"`

	// 直播间水印
	WatermarkToggle int    `json:"watermark_toggle"` //0关1开
	WatermarkFile   string `json:"watermark_file"`   //http文件

	ServicePaopao string `json:"service_paopao"` // 客服泡泡

	AppFace int `json:"app_face"` // 0壳，1开启

	SmsPromotion string `json:"sms_promotion"` // 短信推广跳转链接

	// 弹窗配置
	DialogSwitch       int    `json:"dialog_switch"`
	DialogTitle        string `json:"dialog_title"`
	DialogTimeout      int    `json:"dialog_timeout"`
	DialogForceReg     int32  `json:"dialog_force_reg"`
	DialogDailyTimes   int32  `json:"dialog_daily_times"`
	DialogWebImage     string `json:"dialog_web_image"`
	DialogMobileImageH string `json:"dialog_mobile_image_h"`
	DialogMobileImageV string `json:"dialog_mobile_image_v"`

	// 直播预告开关
	LivePreviewSwitch int `json:"live_preview_switch"`

	// 外部上传接口
	ThirdUpload string `json:"third_upload"`

	// 私聊天关
	PrivateMessageToggle int `json:"private_message_toggle"`
	// 直播聊天室
	ChatroomToggle int `json:"chatroom_toggle"`
	// 聊天室联系方式弹出
	PopContact      int `json:"pop_contact"`
	EnableCaptcha   int `json:"enable_captcha"`
	SlotMachineGame int `json:"slot_machine_game"`

	// 超级绿包字段
	LiveToggle int `json:"live_toggle"`
	UserCenter int `json:"user_center"`

	// 绿包变正常包
	SEMToNormalTimer int    `json:"sem_to_normal_timer"`
	SEMToNormal      string `json:"sem_to_normal"`
	SEMToNormal2     string `gorm:"sem_to_normal2" json:"sem_to_normal2"`

	// 变包渠道列表
	AppList []*AppFace `gorm:"-" json:"app_list"`

	// uotxge.cn 域名龙门
	DLIOSUotxge     string `json:"dl_ios_uotxge"`
	DLIOSWebUotxge  string `json:"dl_ios_web_uotxge"`
	DLAndroidUotxge string `json:"dl_android_uotxge"`

	//观看时长开关
	WatchDurToggle int `json:"watch_dur_toggle"`
	//赛事开关
	MatchToggle int `json:"match_toggle"`
	//咨询开关
	NewsToggle int `json:"news_toggle"`
	//未登录聊天开关
	AnonymousChatToggle int `json:"anonymous_chat_toggle"`
	//充值开关
	RechargeToggle int `json:"recharge_toggle"`
}

func (ConfigPub) TableName() string {
	return fmt.Sprintf("%sconfig_pub", models.Prefix)
}

func (ConfigPub) ConfigPubSem() string {
	return fmt.Sprintf("%sconfig_pub_sem", models.Prefix)
}

func (ConfigPub) ConfigPubSemWeb() string {
	return fmt.Sprintf("%sconfig_pub_sem_web", models.Prefix)
}
func (ConfigPub) ConfigPubSpec() string {
	return fmt.Sprintf("%sconfig_pub_spec", models.Prefix)
}
func (ConfigPub) ConfigPubJoycircle() string {
	return fmt.Sprintf("%sconfig_pub_joycircle", models.Prefix)
}
func (ConfigPub) ConfigSource() string {
	return fmt.Sprintf("%sconfig_source", models.Prefix)
}

type AppFace struct {
	ID             int    `json:"id"`
	DefaultChannel string `json:"default_channel"`
	NewChannel     string `json:"new_channel"`
}

func (AppFace) TableName() string {
	return fmt.Sprintf("%sapp_face", models.Prefix)
}
